<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    //js的版本 es5 es6 函数 版本

    //es5函数
    //定义在全局的函数，会自动作为window对象的键值对
    var fun1 = function () {
      //匿名函数
    }
    function fun2() {

    }//有名函数
    fun1()
    fun2()
    //window已经是浏览器最大的对象了，所以他里面的键值对可以直接使用，不需要加前缀


    //es6 箭头函数
    var fun3 = () => {
      console.log(this)
    }
    fun3()
    console.log(this) //window
    var obj222 = {
      name: 'lucy',
      print: () => {
        console.log(this)
      }
    }
    obj222.print()
    var obj333 = {
      name: "eric",
      print1() {
        //this->obj333
        var print2 = () => {
          console.log(this) //obj333
        }
        print2()
      }

    }
    obj333.print1()
    //es6函数里边的this，指向函数执行位置的环境/上下文
    //es5函数中的this，指向调用这个函数的对象
    var obj1 = {
      print: function () {
        console.log(this)
      }
    }
    obj1.print()




  </script>
</body>

</html>